package com.gin.kotlin.vegetables_kot.network.api

import com.gin.kotlin.vegetables_kot.network.forms.VegRecordFormAdd
import com.gin.kotlin.vegetables_kot.network.forms.VegRecordFormUpdate
import com.gin.kotlin.vegetables_kot.network.params.PageParams
import com.gin.kotlin.vegetables_kot.network.params.filter.VegRecordFilter
import com.gin.kotlin.vegetables_kot.network.response.body.VegParamOptions
import com.gin.kotlin.vegetables_kot.network.response.body.VegRecord
import com.gin.kotlin.vegetables_kot.network.response.common.PageData
import com.gin.kotlin.vegetables_kot.network.response.common.Res
import okhttp3.MultipartBody
import retrofit2.Call
import retrofit2.http.Body
import retrofit2.http.POST
import retrofit2.http.Query

interface VegRecordApi {
    @POST("/api/page")
    fun page(@Body params:PageParams<VegRecordFilter>):Call<Res<PageData<VegRecord>>>

    @POST("/api/add")
    fun add(@Body forum: VegRecordFormAdd):Call<Res<Nothing>>

    @POST("/api/update")
    fun update(@Body forum: VegRecordFormUpdate):Call<Res<Nothing>>

    @POST("/api/del")
    fun del(@Query("uuid") uuid:String):Call<Res<Nothing>>

    @POST("/api/getOptions")
    fun options():Call<Res<VegParamOptions>>

    @POST("/api/images/del")
    fun delImage(@Query("uuid") uuid:String):Call<Res<Nothing>>

    @POST("/api/images/upload")
    fun uploadImage(@Query("recordUuid") uuid:String,@Body file: MultipartBody):Call<Res<String>>
}
